package com.bweab.service.api;

import com.bweab.pojo.UsersTb;
import com.bweab.util.JSONResult;

/**
 * 用户信息服务接口的定义
 * */
public interface UsersTbServiceInterface {

    /**
     * 查询用户密码
     *
     * */
    /**
     *
     * @param username 用户名用于查询用户信息
     * @return 用户西宁西对象
     */
    UsersTb getUserInfo(String username);

    /**
     *
     * @param username 用户名
     * @param userpassword 用户密码
     * @param userSex 用户性别
     * @param userXh 用户学号
     * @param userPhone 用户电话
     * @return 返回的影响结果 1成功 0失败
     */
    int regist(String username, String userpassword, String userSex, String userXh, String userPhone);

    /**
     * 修改用户信息
     * @param userName 用户名 用于查询
     * @param userPhone 用户电话
     * @param userXh 用户学号
     * @param userSex 用户性别
     * @return 返回的影响结果 1成功 0失败
     */
    int alterUserInfo(String userName, String userPhone, String userXh, String userSex);

    /**
     * 修改用户密码
     * @param username 用户名字
     * @param userpassword 用户密码
     * @return 返回的影响结果 1成功 0失败
     */
    int alterUserPwd(String username, String userpassword);


    /**
     * 管理员增加用户的服务
     * @param username  用户名字
     * @param userPhone  用户电话
     * @param userStatus  用户状态
     * @param userXh   用户学号
     * @param userSex  用户性别
     * @param userpassword 用户密码
     * @return  1成功  0 失败
     */
    JSONResult adminAddUser(String username, String userPhone, String userStatus, String userXh, String userSex, String userpassword);

    /**
     * 管理员查询用户信息
     * @param username  用户名
     * @return 返回结果为用户信息
     */
    JSONResult AdminQueryUserInfoByName(String username);

    /**
     * 管理员修改用户信息
     * @param userName 用户名
     * @param userPassword 用户密码
     * @param userSex 用户性别
     * @param userXh 用户学号
     * @param userStatus 用户状态
     * @param userPhone 用户电话
     * @return jsonResult
     */
    JSONResult adminAlterUserInfo(String userName, String userPassword, String userSex, String userXh, String userStatus, String userPhone);

    /**
     * 管理员通过用户id删除用户信息
     * @param userId 用户id
     * @return jsonReuslt
     */
    JSONResult adminDeleteUserInfoByUserId(int userId);

    /**
     * 通过用户名删除用户
     * @param userName
     * @return 返回结果是处理好的jsonResult数据
     */
    JSONResult adminDeleteUserInfoByUserName(String userName);
}

